Design and Use of a Program Execution Analyzer

نویسنده

  • Leigh R. Power
چکیده

Execution analyzers are used to improve the performance of programs, operating systems, and hardware systems. This paper presents a general overview of these tools, especially those designed for use by application programmers. The design tradeofis of a wide variety of execution analyzers are examined. In addition, the design and use of a new execution analyzer are presented; its purpose is to assist in the optimization of highly modular PL/I programs. A n execution analyzer is a tool for measuring specific details about the execution of programs , for example, pinpointing where a program spends its time, identifying what program paths are actually executed, or identifying what subroutines are called. An execution analyzer can reveal surprising facts about a program that a programmer can use to improve the program, sometimes dramatically. This paper discusses the design of a program execution analyzer. A general definition of this class of software tools is presented, and a wide variety of techniques used by existing analyzers are surveyed. In addition, the design and use of a new program execution analyzer that we call the Experimental PL/I Execution Analyzer (EPLEA)' are discussed. The purpose of EPLEA is to support the optimization of execution time of highly modular PL/I programs. Experience with this tool is presented as a case study. The casual reader should gain a better understanding of the value and use of execution ana-lyzers. The general-purpose architecture and survey of techniques should benefit anyone designing a special-purpose execution analyzer or evaluating existing analyzers. The case study should be of particular interest to PL/I programmers. Although the primary intent of this paper is to discuss execution analyzers for use by application programmers, many of the design tradeoffs discussed apply as well to operating system performance tools and hardware monitors. Measurement tools for operating systems are readily available2"' and have received good coverage in the literature ."-'' Hardware monitors have received less attention and will be mentioned briefly. Many more program execution analyzers have been dceloped than are mentioned here. This is certainly a testament to their usefulness, but it is also a result of the wide variety of user requirements, programming languages, and system dependencies that they must deal with. In fact, it is the need for a unique measurement tool that has attracted the author to this area of research. OCopyright 1983 by International Business Machines Corporation. Copying in printed form for private use is …

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Design and Implementation of a Kalman Filter-Based Time-Varying Harmonics Analyzer

Nowadays with increasing use of numerous nonlinear loads, voltage and current harmonics in power systems are one of the most important problems power engineers encounter. Many of these nonlinear loads, because of their dynamic natures, inject time-varying harmonics into power system. Common techniques applied for harmonics measurement and assessment such as FFT have significant errors in presen...

متن کامل

Corral: A Whole-Program Analyzer for Boogie

This paper presents Corral, a whole-program analyzer for Boogie programs. Corral looks for a feasible execution of the program that leads to an assertion failure. The execution may span multiple procedures and may iterate loops multiple times. Unlike the Boogie verifier, Corral does not require any user annotations.

متن کامل

Trace Server: A Tool for Storing, Querying and Analyzing Execution Traces

Various techniques for software verification are in use today, including testing and software model checking. Each of them has certain limitations, imposed by limited memory and computation time. This limits the types of properties that can be analyzed during one execution on a given computer. By carrying out additional analysis of program traces outside the execution of the program, one can ex...

متن کامل

مکانیابی خطاهای پنهان نرم افزار با استفاده از آنتروپی متقاطع و مدلهای n-گرام

The aim is to automate the process of bug localization in program source code. The cause of program failure could be best determined by comparing and analyzing correct and incorrect execution paths generated by running the instrumented program with different failing and passing test cases. To compare and analysis the execution paths, one approach is clustering the paths according to their simil...

متن کامل

ارائه یک روش نرم افزاری جهت استفاده از ارزیابی ریسک در بهینه سازی اقدامات حفاظت حریق ساختمان

  Background and aims: The property loss and physical injuries due to fire events in buildings demonstrate the necessity of implementation of efficient and performance based fire safety measures. Effective and high efficiency protection is possible when design and selection of protection measures are based on risk assessment. This study aims at presenting a software method to make possible sele...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • IBM Systems Journal

دوره 22  شماره 

صفحات  -

تاریخ انتشار 1983